<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    ES6的模块化的使用123
</body>
<script type="module">
    // 1. 暴露模块接口使用export关键字
    // 2. 引入模块接口使用import关键字
    // 3. export和import定义的内容都必须是一个引用关系，不能是具体的值；暴露的接口名和引入的接口名要加花括号，除非使用了*或default关键字
    // 4. import需要配合from关键字使用
    // 5. ES6模块化的使用需要依赖服务器环境
    // 6. 使用了import关键字的script标签需要设置type属性为module
    // 7. export和import都可以使用as关键字对接口改名
    // 8. 一个文件内，可以多次使用export暴露多个接口
    // 9. 可以使用 * 接口所有的模块接口，但需要立即使用as改名
    // 10. 一个文件内可以在一个export后使用一次default暴露所有接口；import后任意起名默认接收到的是default暴露的对象

    import { aaa as str } from "./modules/test.js";
    console.log( str );
    import { msg } from "./modules/test.js";
    import { fn } from "./modules/test.js";
    console.log(msg);
    console.log(fn);

    import * as obj from "./modules/test.js";

    console.log( obj );
    console.log( obj.aaa );
    console.log( obj.msg );
    console.log( obj.fn );
    obj.fn();

    import qwe from "./modules/test.js";
    console.log(qwe);
</script>
</html>